package com.heima.apis.wemedia;

/**
 * @author Jt
 * @date 2021/4/15 17:08
 */

import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.wemedia.dtos.NewsAuthDto;
import com.heima.model.wemedia.dtos.WmNewsDto;
import com.heima.model.wemedia.dtos.WmNewsPageReqDto;
import com.heima.model.wemedia.pojos.WmNews;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

import java.util.List;

/**
 * 自媒体文章接口
 */
@Api(value = "自媒体文章管理" , tags = "自媒体文章管理" , description = "自媒体文章管理")
public interface WmNewsControllerApi {

    /**
     * 根据条件查询自媒体文章列表
     * @param wmNewsPageReqDto
     * @return
     */
    @ApiOperation("查询自媒体文章列表")
    public ResponseResult findAll (WmNewsPageReqDto wmNewsPageReqDto);

    /**
     * 保存或修改 自媒体文章
     * @param wmNewsDto 文章数据
     * @return
     */
    @ApiOperation("保存或修改自媒体文章")
    public ResponseResult submitNews(WmNewsDto wmNewsDto);

    /**
     * 根据id获取文章信息
     * @param id
     * @return
     */
    @ApiOperation("根据id获取文章信息")
    public ResponseResult findWmNewsById (Integer id);

    /**
     * 根据id删除文章
     * @param id
     * @return
     */
    @ApiOperation("根据id删除文章")
    public ResponseResult delNews(Integer id);

    /**
     * 上下架
     * @param dto
     * @return
     */
    @ApiOperation("上下架")
    public ResponseResult downOrUp(WmNewsDto dto);

    /**
     * 根据id查询文章
     * @param id
     * @return
     */
    @ApiOperation("根据id查询文章")
    WmNews findById(Integer id);

    /**
     * 修改文章
     * @param wmNews
     * @return
     */
    @ApiOperation("修改文章")
    ResponseResult updateWmNews(WmNews wmNews);

    /**
     * 查询需要发布的文章ID列表
     * @return
     */
    @ApiOperation("查询需要发布文章的ID列表")
    public  List<Integer> findRelease();

    /**
     * 查询文章列表
     * @param dto
     * @return
     */
    @ApiOperation("查询文章列表")
    public ResponseResult findList (NewsAuthDto dto);

    /**
     * 查询文章详情
     * @param id
     * @return
     */
    @ApiOperation("查询文章详情")
    public ResponseResult findWmNewsVo(Integer id);

    /**
     * 文章审核成功
     * @param dto
     * @return
     */
    @ApiOperation("文章审核成功")
    public ResponseResult authPass (NewsAuthDto dto);

    /**
     * 文章审核失败
     * @param dto
     * @return
     */
    @ApiOperation("文章审核失败")
    public ResponseResult authFail (NewsAuthDto dto);

}
